#include <stdio.h>
#include <stdlib.h>
#include <string.h>
union Data {
  int n;
  double a;
  char c1;
  char c[20];
}u;

int main() {
    u.n=5; // 此刻,只有成员n有意义
    printf("%d\n",u.n);
    printf("%f\n",u.a);
    printf("%c\n\n",u.c1);  

    u.c1='a'; //此时，只有成员c1有意义
    printf("%d\n",u.n);
    printf("%f\n",u.a);
    printf("%c\n",u.c1);
    printf("%s\n\n",&u.c1);

    strcpy(&u.c1,"abcdefg");
    printf("%d\n",u.n);
    printf("%f\n",u.a);
    printf("%c\n",u.c1);
    printf("%s\n\n",&u.c1);
 //此刻，&u.c1是字符指针，代表一个字符串

//给一个联合成员赋值会破坏其他成员的值

    
}


